﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections.Specialized;

namespace OAuth.Net.Consumer
{
    /// <summary>
    /// 
    /// </summary>
    public class PrePublicResourceRequestEventArgs : EventArgs
    {
        /// <summary>
        /// Creates event arguments with the corresponding request Uri, HTTP method,parameter collection,
        /// request token and access token.
        /// </summary>
        /// <param name="requestUri">Request Uri</param>
        /// <param name="httpMethod">HTTP method</param>
        /// <param name="parameters">Additional parameters</param>
        /// <param name="requestToken">Request token</param>
        /// <param name="accessToken">Access token</param>
        public PrePublicResourceRequestEventArgs(Uri requestUri, string httpMethod, 
            NameValueCollection parameters)
        {
            RequestUri = requestUri;
            HttpMethod = httpMethod;
            AdditionalParameters = parameters;
        }

        /// <summary>
        /// The Uri of the request to be sent.
        /// </summary>
        public Uri RequestUri { get; set; }

        /// <summary>
        /// The HTTP method of the request to be sent
        /// </summary>
        public string HttpMethod { get; set; }

        /// <summary>
        /// A name value collection of parameters that will be applied to the
        /// request before it is sent.
        /// </summary>
        public NameValueCollection AdditionalParameters { get; private set; }
    }
}
